{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Importing PulP solver\n",
    "from pulp import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Demand points\n",
    "demand_points=['Port of King Abdul Aziz','Port of Mersin','Port of Jebel Ali']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Port of King Abdul Aziz', 'Port of Mersin', 'Port of Jebel Ali']"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "demand_points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Supply Points\n",
    "supply_points=['Port of Buenos Aires','Port of Newcastle','Port of Hedland','Port of Vienna','Port of Antwerp','Port of Santos','Port of Montreal','Port of Vancouver','Port of Shanghai','Port of Hamburg_Czeck','Port of Alexandria','Port of Marseille','Port of Hamburg_Germany','Port of Budapest','Port of Jawaharlal Nehru','Port of Tanjung Priok','Port of Bandar Abbas','Port of Haifa','Port of Gioia Tauro','Port of Nagoya','Port of Aqaba','Port of Busan','Port of Manzanillo','Port of Casablanca','Port of Rotterdam','Port of Salalah','Port of Karachi','Port of Gdansk','Port of Doha','Port of Vladivostok','Port of Novorossiysk','Port of St. Petersburg','Port of King Abdul Aziz','Port of Jeddah','Port of Bratislava','Port of Durban','Port of Algeciras','Port of Gothenburg','Port of Latakia','Port of Kaohsiung','Port of Bangkok','Port of Mersin','Port of Odessa','Port of Jebel Ali','Port of Immingham','Port of New York','Port of Los Angeles','Port of Saigon']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Port of Buenos Aires',\n",
       " 'Port of Newcastle',\n",
       " 'Port of Hedland',\n",
       " 'Port of Vienna',\n",
       " 'Port of Antwerp',\n",
       " 'Port of Santos',\n",
       " 'Port of Montreal',\n",
       " 'Port of Vancouver',\n",
       " 'Port of Shanghai',\n",
       " 'Port of Hamburg_Czeck',\n",
       " 'Port of Alexandria',\n",
       " 'Port of Marseille',\n",
       " 'Port of Hamburg_Germany',\n",
       " 'Port of Budapest',\n",
       " 'Port of Jawaharlal Nehru',\n",
       " 'Port of Tanjung Priok',\n",
       " 'Port of Bandar Abbas',\n",
       " 'Port of Haifa',\n",
       " 'Port of Gioia Tauro',\n",
       " 'Port of Nagoya',\n",
       " 'Port of Aqaba',\n",
       " 'Port of Busan',\n",
       " 'Port of Manzanillo',\n",
       " 'Port of Casablanca',\n",
       " 'Port of Rotterdam',\n",
       " 'Port of Salalah',\n",
       " 'Port of Karachi',\n",
       " 'Port of Gdansk',\n",
       " 'Port of Doha',\n",
       " 'Port of Vladivostok',\n",
       " 'Port of Novorossiysk',\n",
       " 'Port of St. Petersburg',\n",
       " 'Port of King Abdul Aziz',\n",
       " 'Port of Jeddah',\n",
       " 'Port of Bratislava',\n",
       " 'Port of Durban',\n",
       " 'Port of Algeciras',\n",
       " 'Port of Gothenburg',\n",
       " 'Port of Latakia',\n",
       " 'Port of Kaohsiung',\n",
       " 'Port of Bangkok',\n",
       " 'Port of Mersin',\n",
       " 'Port of Odessa',\n",
       " 'Port of Jebel Ali',\n",
       " 'Port of Immingham',\n",
       " 'Port of New York',\n",
       " 'Port of Los Angeles',\n",
       " 'Port of Saigon']"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "supply_points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the distances\n",
    "distance = dict(zip(supply_points,[dict(zip(demand_points, [9476,8606,9168])),\n",
    "dict(zip(demand_points, [8585,10095,8290])),\n",
    "dict(zip(demand_points, [6074,7584,5779])),\n",
    "dict(zip(demand_points, [5783,2142,5475])),\n",
    "dict(zip(demand_points, [7247,3664,6938])),\n",
    "dict(zip(demand_points, [9716,7528,9407])),\n",
    "dict(zip(demand_points, [9778,6195,9470])),\n",
    "dict(zip(demand_points, [10668,12320,10440])),\n",
    "dict(zip(demand_points, [6922,8546,6627])),\n",
    "dict(zip(demand_points, [7615,4032,7306])),\n",
    "dict(zip(demand_points, [3704,546,3396])),\n",
    "dict(zip(demand_points, [5388,1806,5080])),\n",
    "dict(zip(demand_points, [7615,4032,7306])),\n",
    "dict(zip(demand_points, [5669,2028,5360])),\n",
    "dict(zip(demand_points, [1630,3720,1335])),\n",
    "dict(zip(demand_points, [4700,6210,4405])),\n",
    "dict(zip(demand_points, [365,3520,173])),\n",
    "dict(zip(demand_points, [3674,233,3366])),\n",
    "dict(zip(demand_points, [4674,1091,4366])),\n",
    "dict(zip(demand_points, [7800,9424,7505])),\n",
    "dict(zip(demand_points, [3250,778,2942])),\n",
    "dict(zip(demand_points, [7438,9062,7143])),\n",
    "dict(zip(demand_points, [13099,9516,12790])),\n",
    "dict(zip(demand_points, [5906,2324,5598])),\n",
    "dict(zip(demand_points, [7338,3755,7029])),\n",
    "dict(zip(demand_points, [1307,2577,999])),\n",
    "dict(zip(demand_points, [1041,3604,746])),\n",
    "dict(zip(demand_points, [8334,4751,8025])),\n",
    "dict(zip(demand_points, [219,3763,187])),\n",
    "dict(zip(demand_points, [8022,9645,7727])),\n",
    "dict(zip(demand_points, [5193,1552,4885])),\n",
    "dict(zip(demand_points, [8841,5258,8532])),\n",
    "dict(zip(demand_points, [0,3885,389])),\n",
    "dict(zip(demand_points, [2680,1205,2371])),\n",
    "dict(zip(demand_points, [5771,2130,5463])),\n",
    "dict(zip(demand_points, [4878,5530,4572])),\n",
    "dict(zip(demand_points, [5685,2102,5377])),\n",
    "dict(zip(demand_points, [7879,4299,7573])),\n",
    "dict(zip(demand_points, [3889,89,3580])),\n",
    "dict(zip(demand_points, [6356,7981,6063])),\n",
    "dict(zip(demand_points, [5142,6766,4847])),\n",
    "dict(zip(demand_points, [3885,0,3576])),\n",
    "dict(zip(demand_points, [5011,1370,4703])),\n",
    "dict(zip(demand_points, [389,3576,0])),\n",
    "dict(zip(demand_points, [7388,3804,7080])),\n",
    "dict(zip(demand_points, [9222,5617,8918])),\n",
    "dict(zip(demand_points, [11344,11024,11116])),\n",
    "dict(zip(demand_points, [5004,6628,4709]))]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Buenos Aires': {'Port of King Abdul Aziz': 9476,\n",
       "  'Port of Mersin': 8606,\n",
       "  'Port of Jebel Ali': 9168},\n",
       " 'Port of Newcastle': {'Port of King Abdul Aziz': 8585,\n",
       "  'Port of Mersin': 10095,\n",
       "  'Port of Jebel Ali': 8290},\n",
       " 'Port of Hedland': {'Port of King Abdul Aziz': 6074,\n",
       "  'Port of Mersin': 7584,\n",
       "  'Port of Jebel Ali': 5779},\n",
       " 'Port of Vienna': {'Port of King Abdul Aziz': 5783,\n",
       "  'Port of Mersin': 2142,\n",
       "  'Port of Jebel Ali': 5475},\n",
       " 'Port of Antwerp': {'Port of King Abdul Aziz': 7247,\n",
       "  'Port of Mersin': 3664,\n",
       "  'Port of Jebel Ali': 6938},\n",
       " 'Port of Santos': {'Port of King Abdul Aziz': 9716,\n",
       "  'Port of Mersin': 7528,\n",
       "  'Port of Jebel Ali': 9407},\n",
       " 'Port of Montreal': {'Port of King Abdul Aziz': 9778,\n",
       "  'Port of Mersin': 6195,\n",
       "  'Port of Jebel Ali': 9470},\n",
       " 'Port of Vancouver': {'Port of King Abdul Aziz': 10668,\n",
       "  'Port of Mersin': 12320,\n",
       "  'Port of Jebel Ali': 10440},\n",
       " 'Port of Shanghai': {'Port of King Abdul Aziz': 6922,\n",
       "  'Port of Mersin': 8546,\n",
       "  'Port of Jebel Ali': 6627},\n",
       " 'Port of Hamburg_Czeck': {'Port of King Abdul Aziz': 7615,\n",
       "  'Port of Mersin': 4032,\n",
       "  'Port of Jebel Ali': 7306},\n",
       " 'Port of Alexandria': {'Port of King Abdul Aziz': 3704,\n",
       "  'Port of Mersin': 546,\n",
       "  'Port of Jebel Ali': 3396},\n",
       " 'Port of Marseille': {'Port of King Abdul Aziz': 5388,\n",
       "  'Port of Mersin': 1806,\n",
       "  'Port of Jebel Ali': 5080},\n",
       " 'Port of Hamburg_Germany': {'Port of King Abdul Aziz': 7615,\n",
       "  'Port of Mersin': 4032,\n",
       "  'Port of Jebel Ali': 7306},\n",
       " 'Port of Budapest': {'Port of King Abdul Aziz': 5669,\n",
       "  'Port of Mersin': 2028,\n",
       "  'Port of Jebel Ali': 5360},\n",
       " 'Port of Jawaharlal Nehru': {'Port of King Abdul Aziz': 1630,\n",
       "  'Port of Mersin': 3720,\n",
       "  'Port of Jebel Ali': 1335},\n",
       " 'Port of Tanjung Priok': {'Port of King Abdul Aziz': 4700,\n",
       "  'Port of Mersin': 6210,\n",
       "  'Port of Jebel Ali': 4405},\n",
       " 'Port of Bandar Abbas': {'Port of King Abdul Aziz': 365,\n",
       "  'Port of Mersin': 3520,\n",
       "  'Port of Jebel Ali': 173},\n",
       " 'Port of Haifa': {'Port of King Abdul Aziz': 3674,\n",
       "  'Port of Mersin': 233,\n",
       "  'Port of Jebel Ali': 3366},\n",
       " 'Port of Gioia Tauro': {'Port of King Abdul Aziz': 4674,\n",
       "  'Port of Mersin': 1091,\n",
       "  'Port of Jebel Ali': 4366},\n",
       " 'Port of Nagoya': {'Port of King Abdul Aziz': 7800,\n",
       "  'Port of Mersin': 9424,\n",
       "  'Port of Jebel Ali': 7505},\n",
       " 'Port of Aqaba': {'Port of King Abdul Aziz': 3250,\n",
       "  'Port of Mersin': 778,\n",
       "  'Port of Jebel Ali': 2942},\n",
       " 'Port of Busan': {'Port of King Abdul Aziz': 7438,\n",
       "  'Port of Mersin': 9062,\n",
       "  'Port of Jebel Ali': 7143},\n",
       " 'Port of Manzanillo': {'Port of King Abdul Aziz': 13099,\n",
       "  'Port of Mersin': 9516,\n",
       "  'Port of Jebel Ali': 12790},\n",
       " 'Port of Casablanca': {'Port of King Abdul Aziz': 5906,\n",
       "  'Port of Mersin': 2324,\n",
       "  'Port of Jebel Ali': 5598},\n",
       " 'Port of Rotterdam': {'Port of King Abdul Aziz': 7338,\n",
       "  'Port of Mersin': 3755,\n",
       "  'Port of Jebel Ali': 7029},\n",
       " 'Port of Salalah': {'Port of King Abdul Aziz': 1307,\n",
       "  'Port of Mersin': 2577,\n",
       "  'Port of Jebel Ali': 999},\n",
       " 'Port of Karachi': {'Port of King Abdul Aziz': 1041,\n",
       "  'Port of Mersin': 3604,\n",
       "  'Port of Jebel Ali': 746},\n",
       " 'Port of Gdansk': {'Port of King Abdul Aziz': 8334,\n",
       "  'Port of Mersin': 4751,\n",
       "  'Port of Jebel Ali': 8025},\n",
       " 'Port of Doha': {'Port of King Abdul Aziz': 219,\n",
       "  'Port of Mersin': 3763,\n",
       "  'Port of Jebel Ali': 187},\n",
       " 'Port of Vladivostok': {'Port of King Abdul Aziz': 8022,\n",
       "  'Port of Mersin': 9645,\n",
       "  'Port of Jebel Ali': 7727},\n",
       " 'Port of Novorossiysk': {'Port of King Abdul Aziz': 5193,\n",
       "  'Port of Mersin': 1552,\n",
       "  'Port of Jebel Ali': 4885},\n",
       " 'Port of St. Petersburg': {'Port of King Abdul Aziz': 8841,\n",
       "  'Port of Mersin': 5258,\n",
       "  'Port of Jebel Ali': 8532},\n",
       " 'Port of King Abdul Aziz': {'Port of King Abdul Aziz': 0,\n",
       "  'Port of Mersin': 3885,\n",
       "  'Port of Jebel Ali': 389},\n",
       " 'Port of Jeddah': {'Port of King Abdul Aziz': 2680,\n",
       "  'Port of Mersin': 1205,\n",
       "  'Port of Jebel Ali': 2371},\n",
       " 'Port of Bratislava': {'Port of King Abdul Aziz': 5771,\n",
       "  'Port of Mersin': 2130,\n",
       "  'Port of Jebel Ali': 5463},\n",
       " 'Port of Durban': {'Port of King Abdul Aziz': 4878,\n",
       "  'Port of Mersin': 5530,\n",
       "  'Port of Jebel Ali': 4572},\n",
       " 'Port of Algeciras': {'Port of King Abdul Aziz': 5685,\n",
       "  'Port of Mersin': 2102,\n",
       "  'Port of Jebel Ali': 5377},\n",
       " 'Port of Gothenburg': {'Port of King Abdul Aziz': 7879,\n",
       "  'Port of Mersin': 4299,\n",
       "  'Port of Jebel Ali': 7573},\n",
       " 'Port of Latakia': {'Port of King Abdul Aziz': 3889,\n",
       "  'Port of Mersin': 89,\n",
       "  'Port of Jebel Ali': 3580},\n",
       " 'Port of Kaohsiung': {'Port of King Abdul Aziz': 6356,\n",
       "  'Port of Mersin': 7981,\n",
       "  'Port of Jebel Ali': 6063},\n",
       " 'Port of Bangkok': {'Port of King Abdul Aziz': 5142,\n",
       "  'Port of Mersin': 6766,\n",
       "  'Port of Jebel Ali': 4847},\n",
       " 'Port of Mersin': {'Port of King Abdul Aziz': 3885,\n",
       "  'Port of Mersin': 0,\n",
       "  'Port of Jebel Ali': 3576},\n",
       " 'Port of Odessa': {'Port of King Abdul Aziz': 5011,\n",
       "  'Port of Mersin': 1370,\n",
       "  'Port of Jebel Ali': 4703},\n",
       " 'Port of Jebel Ali': {'Port of King Abdul Aziz': 389,\n",
       "  'Port of Mersin': 3576,\n",
       "  'Port of Jebel Ali': 0},\n",
       " 'Port of Immingham': {'Port of King Abdul Aziz': 7388,\n",
       "  'Port of Mersin': 3804,\n",
       "  'Port of Jebel Ali': 7080},\n",
       " 'Port of New York': {'Port of King Abdul Aziz': 9222,\n",
       "  'Port of Mersin': 5617,\n",
       "  'Port of Jebel Ali': 8918},\n",
       " 'Port of Los Angeles': {'Port of King Abdul Aziz': 11344,\n",
       "  'Port of Mersin': 11024,\n",
       "  'Port of Jebel Ali': 11116},\n",
       " 'Port of Saigon': {'Port of King Abdul Aziz': 5004,\n",
       "  'Port of Mersin': 6628,\n",
       "  'Port of Jebel Ali': 4709}}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "distance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Steel Demand\n",
    "steel_demand=dict(zip(demand_points, [63897743.65,55417219.94,60667238.3]))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of King Abdul Aziz': 63897743.65,\n",
       " 'Port of Mersin': 55417219.94,\n",
       " 'Port of Jebel Ali': 60667238.3}"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "steel_demand"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Inputing the Steel Supply\n",
    "steel_supply=dict(zip(supply_points, [433438.5346,86572.46439,410785.5516,886729.9023,229526.3324,2941756.854,262020.8163,880221.9105,87274618.13,339760.1248,1041776.954,545487.6131,3719616.786,16711.7605,18348867.96,579304.3525,6144062.094,27982.34405,2071579.511,8043696.209,13105.60008,6110162.948,1695886.675,47202.85793,594200.7707,172724.7541,290885.9597,808678.2787,428886.2435,3844381.91,1875103.958,1896674.586,293515.3983,165006.3678,414129.3522,531352.2442,1253213.916,510227.8693,3403.991027,1991149.524,371006.8178,2882638.496,40880.76958,357537.6413,620215.2676,4534254.769,3160485.568,10790773.16])) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Buenos Aires': 433438.5346,\n",
       " 'Port of Newcastle': 86572.46439,\n",
       " 'Port of Hedland': 410785.5516,\n",
       " 'Port of Vienna': 886729.9023,\n",
       " 'Port of Antwerp': 229526.3324,\n",
       " 'Port of Santos': 2941756.854,\n",
       " 'Port of Montreal': 262020.8163,\n",
       " 'Port of Vancouver': 880221.9105,\n",
       " 'Port of Shanghai': 87274618.13,\n",
       " 'Port of Hamburg_Czeck': 339760.1248,\n",
       " 'Port of Alexandria': 1041776.954,\n",
       " 'Port of Marseille': 545487.6131,\n",
       " 'Port of Hamburg_Germany': 3719616.786,\n",
       " 'Port of Budapest': 16711.7605,\n",
       " 'Port of Jawaharlal Nehru': 18348867.96,\n",
       " 'Port of Tanjung Priok': 579304.3525,\n",
       " 'Port of Bandar Abbas': 6144062.094,\n",
       " 'Port of Haifa': 27982.34405,\n",
       " 'Port of Gioia Tauro': 2071579.511,\n",
       " 'Port of Nagoya': 8043696.209,\n",
       " 'Port of Aqaba': 13105.60008,\n",
       " 'Port of Busan': 6110162.948,\n",
       " 'Port of Manzanillo': 1695886.675,\n",
       " 'Port of Casablanca': 47202.85793,\n",
       " 'Port of Rotterdam': 594200.7707,\n",
       " 'Port of Salalah': 172724.7541,\n",
       " 'Port of Karachi': 290885.9597,\n",
       " 'Port of Gdansk': 808678.2787,\n",
       " 'Port of Doha': 428886.2435,\n",
       " 'Port of Vladivostok': 3844381.91,\n",
       " 'Port of Novorossiysk': 1875103.958,\n",
       " 'Port of St. Petersburg': 1896674.586,\n",
       " 'Port of King Abdul Aziz': 293515.3983,\n",
       " 'Port of Jeddah': 165006.3678,\n",
       " 'Port of Bratislava': 414129.3522,\n",
       " 'Port of Durban': 531352.2442,\n",
       " 'Port of Algeciras': 1253213.916,\n",
       " 'Port of Gothenburg': 510227.8693,\n",
       " 'Port of Latakia': 3403.991027,\n",
       " 'Port of Kaohsiung': 1991149.524,\n",
       " 'Port of Bangkok': 371006.8178,\n",
       " 'Port of Mersin': 2882638.496,\n",
       " 'Port of Odessa': 40880.76958,\n",
       " 'Port of Jebel Ali': 357537.6413,\n",
       " 'Port of Immingham': 620215.2676,\n",
       " 'Port of New York': 4534254.769,\n",
       " 'Port of Los Angeles': 3160485.568,\n",
       " 'Port of Saigon': 10790773.16}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "steel_supply"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set Problem Variables\n",
    "prob = LpProblem(\"Transportation\", LpMinimize)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "None\n",
       "VARIABLES"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Set Problem Variables\n",
    "routes = [(i,j) for i in supply_points for j in demand_points]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('Port of Buenos Aires', 'Port of King Abdul Aziz'),\n",
       " ('Port of Buenos Aires', 'Port of Mersin'),\n",
       " ('Port of Buenos Aires', 'Port of Jebel Ali'),\n",
       " ('Port of Newcastle', 'Port of King Abdul Aziz'),\n",
       " ('Port of Newcastle', 'Port of Mersin'),\n",
       " ('Port of Newcastle', 'Port of Jebel Ali'),\n",
       " ('Port of Hedland', 'Port of King Abdul Aziz'),\n",
       " ('Port of Hedland', 'Port of Mersin'),\n",
       " ('Port of Hedland', 'Port of Jebel Ali'),\n",
       " ('Port of Vienna', 'Port of King Abdul Aziz'),\n",
       " ('Port of Vienna', 'Port of Mersin'),\n",
       " ('Port of Vienna', 'Port of Jebel Ali'),\n",
       " ('Port of Antwerp', 'Port of King Abdul Aziz'),\n",
       " ('Port of Antwerp', 'Port of Mersin'),\n",
       " ('Port of Antwerp', 'Port of Jebel Ali'),\n",
       " ('Port of Santos', 'Port of King Abdul Aziz'),\n",
       " ('Port of Santos', 'Port of Mersin'),\n",
       " ('Port of Santos', 'Port of Jebel Ali'),\n",
       " ('Port of Montreal', 'Port of King Abdul Aziz'),\n",
       " ('Port of Montreal', 'Port of Mersin'),\n",
       " ('Port of Montreal', 'Port of Jebel Ali'),\n",
       " ('Port of Vancouver', 'Port of King Abdul Aziz'),\n",
       " ('Port of Vancouver', 'Port of Mersin'),\n",
       " ('Port of Vancouver', 'Port of Jebel Ali'),\n",
       " ('Port of Shanghai', 'Port of King Abdul Aziz'),\n",
       " ('Port of Shanghai', 'Port of Mersin'),\n",
       " ('Port of Shanghai', 'Port of Jebel Ali'),\n",
       " ('Port of Hamburg_Czeck', 'Port of King Abdul Aziz'),\n",
       " ('Port of Hamburg_Czeck', 'Port of Mersin'),\n",
       " ('Port of Hamburg_Czeck', 'Port of Jebel Ali'),\n",
       " ('Port of Alexandria', 'Port of King Abdul Aziz'),\n",
       " ('Port of Alexandria', 'Port of Mersin'),\n",
       " ('Port of Alexandria', 'Port of Jebel Ali'),\n",
       " ('Port of Marseille', 'Port of King Abdul Aziz'),\n",
       " ('Port of Marseille', 'Port of Mersin'),\n",
       " ('Port of Marseille', 'Port of Jebel Ali'),\n",
       " ('Port of Hamburg_Germany', 'Port of King Abdul Aziz'),\n",
       " ('Port of Hamburg_Germany', 'Port of Mersin'),\n",
       " ('Port of Hamburg_Germany', 'Port of Jebel Ali'),\n",
       " ('Port of Budapest', 'Port of King Abdul Aziz'),\n",
       " ('Port of Budapest', 'Port of Mersin'),\n",
       " ('Port of Budapest', 'Port of Jebel Ali'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of King Abdul Aziz'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of Mersin'),\n",
       " ('Port of Jawaharlal Nehru', 'Port of Jebel Ali'),\n",
       " ('Port of Tanjung Priok', 'Port of King Abdul Aziz'),\n",
       " ('Port of Tanjung Priok', 'Port of Mersin'),\n",
       " ('Port of Tanjung Priok', 'Port of Jebel Ali'),\n",
       " ('Port of Bandar Abbas', 'Port of King Abdul Aziz'),\n",
       " ('Port of Bandar Abbas', 'Port of Mersin'),\n",
       " ('Port of Bandar Abbas', 'Port of Jebel Ali'),\n",
       " ('Port of Haifa', 'Port of King Abdul Aziz'),\n",
       " ('Port of Haifa', 'Port of Mersin'),\n",
       " ('Port of Haifa', 'Port of Jebel Ali'),\n",
       " ('Port of Gioia Tauro', 'Port of King Abdul Aziz'),\n",
       " ('Port of Gioia Tauro', 'Port of Mersin'),\n",
       " ('Port of Gioia Tauro', 'Port of Jebel Ali'),\n",
       " ('Port of Nagoya', 'Port of King Abdul Aziz'),\n",
       " ('Port of Nagoya', 'Port of Mersin'),\n",
       " ('Port of Nagoya', 'Port of Jebel Ali'),\n",
       " ('Port of Aqaba', 'Port of King Abdul Aziz'),\n",
       " ('Port of Aqaba', 'Port of Mersin'),\n",
       " ('Port of Aqaba', 'Port of Jebel Ali'),\n",
       " ('Port of Busan', 'Port of King Abdul Aziz'),\n",
       " ('Port of Busan', 'Port of Mersin'),\n",
       " ('Port of Busan', 'Port of Jebel Ali'),\n",
       " ('Port of Manzanillo', 'Port of King Abdul Aziz'),\n",
       " ('Port of Manzanillo', 'Port of Mersin'),\n",
       " ('Port of Manzanillo', 'Port of Jebel Ali'),\n",
       " ('Port of Casablanca', 'Port of King Abdul Aziz'),\n",
       " ('Port of Casablanca', 'Port of Mersin'),\n",
       " ('Port of Casablanca', 'Port of Jebel Ali'),\n",
       " ('Port of Rotterdam', 'Port of King Abdul Aziz'),\n",
       " ('Port of Rotterdam', 'Port of Mersin'),\n",
       " ('Port of Rotterdam', 'Port of Jebel Ali'),\n",
       " ('Port of Salalah', 'Port of King Abdul Aziz'),\n",
       " ('Port of Salalah', 'Port of Mersin'),\n",
       " ('Port of Salalah', 'Port of Jebel Ali'),\n",
       " ('Port of Karachi', 'Port of King Abdul Aziz'),\n",
       " ('Port of Karachi', 'Port of Mersin'),\n",
       " ('Port of Karachi', 'Port of Jebel Ali'),\n",
       " ('Port of Gdansk', 'Port of King Abdul Aziz'),\n",
       " ('Port of Gdansk', 'Port of Mersin'),\n",
       " ('Port of Gdansk', 'Port of Jebel Ali'),\n",
       " ('Port of Doha', 'Port of King Abdul Aziz'),\n",
       " ('Port of Doha', 'Port of Mersin'),\n",
       " ('Port of Doha', 'Port of Jebel Ali'),\n",
       " ('Port of Vladivostok', 'Port of King Abdul Aziz'),\n",
       " ('Port of Vladivostok', 'Port of Mersin'),\n",
       " ('Port of Vladivostok', 'Port of Jebel Ali'),\n",
       " ('Port of Novorossiysk', 'Port of King Abdul Aziz'),\n",
       " ('Port of Novorossiysk', 'Port of Mersin'),\n",
       " ('Port of Novorossiysk', 'Port of Jebel Ali'),\n",
       " ('Port of St. Petersburg', 'Port of King Abdul Aziz'),\n",
       " ('Port of St. Petersburg', 'Port of Mersin'),\n",
       " ('Port of St. Petersburg', 'Port of Jebel Ali'),\n",
       " ('Port of King Abdul Aziz', 'Port of King Abdul Aziz'),\n",
       " ('Port of King Abdul Aziz', 'Port of Mersin'),\n",
       " ('Port of King Abdul Aziz', 'Port of Jebel Ali'),\n",
       " ('Port of Jeddah', 'Port of King Abdul Aziz'),\n",
       " ('Port of Jeddah', 'Port of Mersin'),\n",
       " ('Port of Jeddah', 'Port of Jebel Ali'),\n",
       " ('Port of Bratislava', 'Port of King Abdul Aziz'),\n",
       " ('Port of Bratislava', 'Port of Mersin'),\n",
       " ('Port of Bratislava', 'Port of Jebel Ali'),\n",
       " ('Port of Durban', 'Port of King Abdul Aziz'),\n",
       " ('Port of Durban', 'Port of Mersin'),\n",
       " ('Port of Durban', 'Port of Jebel Ali'),\n",
       " ('Port of Algeciras', 'Port of King Abdul Aziz'),\n",
       " ('Port of Algeciras', 'Port of Mersin'),\n",
       " ('Port of Algeciras', 'Port of Jebel Ali'),\n",
       " ('Port of Gothenburg', 'Port of King Abdul Aziz'),\n",
       " ('Port of Gothenburg', 'Port of Mersin'),\n",
       " ('Port of Gothenburg', 'Port of Jebel Ali'),\n",
       " ('Port of Latakia', 'Port of King Abdul Aziz'),\n",
       " ('Port of Latakia', 'Port of Mersin'),\n",
       " ('Port of Latakia', 'Port of Jebel Ali'),\n",
       " ('Port of Kaohsiung', 'Port of King Abdul Aziz'),\n",
       " ('Port of Kaohsiung', 'Port of Mersin'),\n",
       " ('Port of Kaohsiung', 'Port of Jebel Ali'),\n",
       " ('Port of Bangkok', 'Port of King Abdul Aziz'),\n",
       " ('Port of Bangkok', 'Port of Mersin'),\n",
       " ('Port of Bangkok', 'Port of Jebel Ali'),\n",
       " ('Port of Mersin', 'Port of King Abdul Aziz'),\n",
       " ('Port of Mersin', 'Port of Mersin'),\n",
       " ('Port of Mersin', 'Port of Jebel Ali'),\n",
       " ('Port of Odessa', 'Port of King Abdul Aziz'),\n",
       " ('Port of Odessa', 'Port of Mersin'),\n",
       " ('Port of Odessa', 'Port of Jebel Ali'),\n",
       " ('Port of Jebel Ali', 'Port of King Abdul Aziz'),\n",
       " ('Port of Jebel Ali', 'Port of Mersin'),\n",
       " ('Port of Jebel Ali', 'Port of Jebel Ali'),\n",
       " ('Port of Immingham', 'Port of King Abdul Aziz'),\n",
       " ('Port of Immingham', 'Port of Mersin'),\n",
       " ('Port of Immingham', 'Port of Jebel Ali'),\n",
       " ('Port of New York', 'Port of King Abdul Aziz'),\n",
       " ('Port of New York', 'Port of Mersin'),\n",
       " ('Port of New York', 'Port of Jebel Ali'),\n",
       " ('Port of Los Angeles', 'Port of King Abdul Aziz'),\n",
       " ('Port of Los Angeles', 'Port of Mersin'),\n",
       " ('Port of Los Angeles', 'Port of Jebel Ali'),\n",
       " ('Port of Saigon', 'Port of King Abdul Aziz'),\n",
       " ('Port of Saigon', 'Port of Mersin'),\n",
       " ('Port of Saigon', 'Port of Jebel Ali')]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "routes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Decision Variables\n",
    "X = LpVariable.dicts(\"ShipmentAmount\",(supply_points, demand_points),0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Port of Buenos Aires': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali},\n",
       " 'Port of Newcastle': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Newcastle_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali},\n",
       " 'Port of Hedland': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Hedland_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali},\n",
       " 'Port of Vienna': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Vienna_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali},\n",
       " 'Port of Antwerp': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Antwerp_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali},\n",
       " 'Port of Santos': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Santos_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali},\n",
       " 'Port of Montreal': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Montreal_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali},\n",
       " 'Port of Vancouver': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Vancouver_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali},\n",
       " 'Port of Shanghai': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Shanghai_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali},\n",
       " 'Port of Hamburg_Czeck': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali},\n",
       " 'Port of Alexandria': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Alexandria_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali},\n",
       " 'Port of Marseille': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Marseille_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali},\n",
       " 'Port of Hamburg_Germany': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali},\n",
       " 'Port of Budapest': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Budapest_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali},\n",
       " 'Port of Jawaharlal Nehru': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali},\n",
       " 'Port of Tanjung Priok': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali},\n",
       " 'Port of Bandar Abbas': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali},\n",
       " 'Port of Haifa': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Haifa_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali},\n",
       " 'Port of Gioia Tauro': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali},\n",
       " 'Port of Nagoya': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Nagoya_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali},\n",
       " 'Port of Aqaba': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Aqaba_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali},\n",
       " 'Port of Busan': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Busan_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali},\n",
       " 'Port of Manzanillo': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali},\n",
       " 'Port of Casablanca': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Casablanca_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali},\n",
       " 'Port of Rotterdam': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali},\n",
       " 'Port of Salalah': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Salalah_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali},\n",
       " 'Port of Karachi': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Karachi_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali},\n",
       " 'Port of Gdansk': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Gdansk_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali},\n",
       " 'Port of Doha': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Doha_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali},\n",
       " 'Port of Vladivostok': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali},\n",
       " 'Port of Novorossiysk': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali},\n",
       " 'Port of St. Petersburg': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali},\n",
       " 'Port of King Abdul Aziz': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali},\n",
       " 'Port of Jeddah': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Jeddah_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali},\n",
       " 'Port of Bratislava': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Bratislava_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali},\n",
       " 'Port of Durban': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Durban_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali},\n",
       " 'Port of Algeciras': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Algeciras_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali},\n",
       " 'Port of Gothenburg': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali},\n",
       " 'Port of Latakia': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Latakia_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali},\n",
       " 'Port of Kaohsiung': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali},\n",
       " 'Port of Bangkok': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Bangkok_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali},\n",
       " 'Port of Mersin': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Mersin_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali},\n",
       " 'Port of Odessa': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Odessa_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali},\n",
       " 'Port of Jebel Ali': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali},\n",
       " 'Port of Immingham': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Immingham_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali},\n",
       " 'Port of New York': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_New_York_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali},\n",
       " 'Port of Los Angeles': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali},\n",
       " 'Port of Saigon': {'Port of King Abdul Aziz': ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz,\n",
       "  'Port of Mersin': ShipmentAmount_Port_of_Saigon_Port_of_Mersin,\n",
       "  'Port of Jebel Ali': ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali}}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Objective Function\n",
    "prob += sum(X[i][j]*distance[i][j] for (i,j) in routes)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "3396*ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali + 3704*ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz + 546*ShipmentAmount_Port_of_Alexandria_Port_of_Mersin + 5377*ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali + 5685*ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz + 2102*ShipmentAmount_Port_of_Algeciras_Port_of_Mersin + 6938*ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali + 7247*ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz + 3664*ShipmentAmount_Port_of_Antwerp_Port_of_Mersin + 2942*ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali + 3250*ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz + 778*ShipmentAmount_Port_of_Aqaba_Port_of_Mersin + 173*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali + 365*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz + 3520*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin + 4847*ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali + 5142*ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz + 6766*ShipmentAmount_Port_of_Bangkok_Port_of_Mersin + 5463*ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali + 5771*ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz + 2130*ShipmentAmount_Port_of_Bratislava_Port_of_Mersin + 5360*ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali + 5669*ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz + 2028*ShipmentAmount_Port_of_Budapest_Port_of_Mersin + 9168*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali + 9476*ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz + 8606*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin + 7143*ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali + 7438*ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz + 9062*ShipmentAmount_Port_of_Busan_Port_of_Mersin + 5598*ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali + 5906*ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz + 2324*ShipmentAmount_Port_of_Casablanca_Port_of_Mersin + 187*ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali + 219*ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz + 3763*ShipmentAmount_Port_of_Doha_Port_of_Mersin + 4572*ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali + 4878*ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz + 5530*ShipmentAmount_Port_of_Durban_Port_of_Mersin + 8025*ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali + 8334*ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz + 4751*ShipmentAmount_Port_of_Gdansk_Port_of_Mersin + 4366*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali + 4674*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz + 1091*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin + 7573*ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali + 7879*ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz + 4299*ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin + 3366*ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali + 3674*ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz + 233*ShipmentAmount_Port_of_Haifa_Port_of_Mersin + 7306*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz + 4032*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin + 7306*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz + 4032*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin + 5779*ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali + 6074*ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz + 7584*ShipmentAmount_Port_of_Hedland_Port_of_Mersin + 7080*ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali + 7388*ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz + 3804*ShipmentAmount_Port_of_Immingham_Port_of_Mersin + 1335*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali + 1630*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz + 3720*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin + 389*ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz + 3576*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin + 2371*ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali + 2680*ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz + 1205*ShipmentAmount_Port_of_Jeddah_Port_of_Mersin + 6063*ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali + 6356*ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz + 7981*ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin + 746*ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali + 1041*ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz + 3604*ShipmentAmount_Port_of_Karachi_Port_of_Mersin + 389*ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali + 3885*ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin + 3580*ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali + 3889*ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz + 89*ShipmentAmount_Port_of_Latakia_Port_of_Mersin + 11116*ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali + 11344*ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz + 11024*ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin + 12790*ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali + 13099*ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz + 9516*ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin + 5080*ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali + 5388*ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz + 1806*ShipmentAmount_Port_of_Marseille_Port_of_Mersin + 3576*ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali + 3885*ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz + 9470*ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali + 9778*ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz + 6195*ShipmentAmount_Port_of_Montreal_Port_of_Mersin + 7505*ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali + 7800*ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz + 9424*ShipmentAmount_Port_of_Nagoya_Port_of_Mersin + 8918*ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali + 9222*ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz + 5617*ShipmentAmount_Port_of_New_York_Port_of_Mersin + 8290*ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali + 8585*ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz + 10095*ShipmentAmount_Port_of_Newcastle_Port_of_Mersin + 4885*ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali + 5193*ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz + 1552*ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin + 4703*ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali + 5011*ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz + 1370*ShipmentAmount_Port_of_Odessa_Port_of_Mersin + 7029*ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali + 7338*ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz + 3755*ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin + 4709*ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali + 5004*ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz + 6628*ShipmentAmount_Port_of_Saigon_Port_of_Mersin + 999*ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali + 1307*ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz + 2577*ShipmentAmount_Port_of_Salalah_Port_of_Mersin + 9407*ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali + 9716*ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz + 7528*ShipmentAmount_Port_of_Santos_Port_of_Mersin + 6627*ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali + 6922*ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz + 8546*ShipmentAmount_Port_of_Shanghai_Port_of_Mersin + 8532*ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali + 8841*ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz + 5258*ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin + 4405*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali + 4700*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz + 6210*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin + 10440*ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali + 10668*ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz + 12320*ShipmentAmount_Port_of_Vancouver_Port_of_Mersin + 5475*ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali + 5783*ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz + 2142*ShipmentAmount_Port_of_Vienna_Port_of_Mersin + 7727*ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali + 8022*ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz + 9645*ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin + 0\n",
       "VARIABLES\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin Continuous"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "3396*ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali + 3704*ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz + 546*ShipmentAmount_Port_of_Alexandria_Port_of_Mersin + 5377*ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali + 5685*ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz + 2102*ShipmentAmount_Port_of_Algeciras_Port_of_Mersin + 6938*ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali + 7247*ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz + 3664*ShipmentAmount_Port_of_Antwerp_Port_of_Mersin + 2942*ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali + 3250*ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz + 778*ShipmentAmount_Port_of_Aqaba_Port_of_Mersin + 173*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali + 365*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz + 3520*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin + 4847*ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali + 5142*ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz + 6766*ShipmentAmount_Port_of_Bangkok_Port_of_Mersin + 5463*ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali + 5771*ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz + 2130*ShipmentAmount_Port_of_Bratislava_Port_of_Mersin + 5360*ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali + 5669*ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz + 2028*ShipmentAmount_Port_of_Budapest_Port_of_Mersin + 9168*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali + 9476*ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz + 8606*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin + 7143*ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali + 7438*ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz + 9062*ShipmentAmount_Port_of_Busan_Port_of_Mersin + 5598*ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali + 5906*ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz + 2324*ShipmentAmount_Port_of_Casablanca_Port_of_Mersin + 187*ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali + 219*ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz + 3763*ShipmentAmount_Port_of_Doha_Port_of_Mersin + 4572*ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali + 4878*ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz + 5530*ShipmentAmount_Port_of_Durban_Port_of_Mersin + 8025*ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali + 8334*ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz + 4751*ShipmentAmount_Port_of_Gdansk_Port_of_Mersin + 4366*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali + 4674*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz + 1091*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin + 7573*ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali + 7879*ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz + 4299*ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin + 3366*ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali + 3674*ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz + 233*ShipmentAmount_Port_of_Haifa_Port_of_Mersin + 7306*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz + 4032*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin + 7306*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz + 4032*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin + 5779*ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali + 6074*ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz + 7584*ShipmentAmount_Port_of_Hedland_Port_of_Mersin + 7080*ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali + 7388*ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz + 3804*ShipmentAmount_Port_of_Immingham_Port_of_Mersin + 1335*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali + 1630*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz + 3720*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin + 389*ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz + 3576*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin + 2371*ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali + 2680*ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz + 1205*ShipmentAmount_Port_of_Jeddah_Port_of_Mersin + 6063*ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali + 6356*ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz + 7981*ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin + 746*ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali + 1041*ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz + 3604*ShipmentAmount_Port_of_Karachi_Port_of_Mersin + 389*ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali + 3885*ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin + 3580*ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali + 3889*ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz + 89*ShipmentAmount_Port_of_Latakia_Port_of_Mersin + 11116*ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali + 11344*ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz + 11024*ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin + 12790*ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali + 13099*ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz + 9516*ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin + 5080*ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali + 5388*ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz + 1806*ShipmentAmount_Port_of_Marseille_Port_of_Mersin + 3576*ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali + 3885*ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz + 9470*ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali + 9778*ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz + 6195*ShipmentAmount_Port_of_Montreal_Port_of_Mersin + 7505*ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali + 7800*ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz + 9424*ShipmentAmount_Port_of_Nagoya_Port_of_Mersin + 8918*ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali + 9222*ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz + 5617*ShipmentAmount_Port_of_New_York_Port_of_Mersin + 8290*ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali + 8585*ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz + 10095*ShipmentAmount_Port_of_Newcastle_Port_of_Mersin + 4885*ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali + 5193*ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz + 1552*ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin + 4703*ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali + 5011*ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz + 1370*ShipmentAmount_Port_of_Odessa_Port_of_Mersin + 7029*ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali + 7338*ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz + 3755*ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin + 4709*ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali + 5004*ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz + 6628*ShipmentAmount_Port_of_Saigon_Port_of_Mersin + 999*ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali + 1307*ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz + 2577*ShipmentAmount_Port_of_Salalah_Port_of_Mersin + 9407*ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali + 9716*ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz + 7528*ShipmentAmount_Port_of_Santos_Port_of_Mersin + 6627*ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali + 6922*ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz + 8546*ShipmentAmount_Port_of_Shanghai_Port_of_Mersin + 8532*ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali + 8841*ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz + 5258*ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin + 4405*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali + 4700*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz + 6210*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin + 10440*ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali + 10668*ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz + 12320*ShipmentAmount_Port_of_Vancouver_Port_of_Mersin + 5475*ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali + 5783*ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz + 2142*ShipmentAmount_Port_of_Vienna_Port_of_Mersin + 7727*ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali + 8022*ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz + 9645*ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin + 0\n",
       "SUBJECT TO\n",
       "_C1: ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz >= 63897743.65\n",
       "\n",
       "_C2: ShipmentAmount_Port_of_Alexandria_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin >= 55417219.94\n",
       "\n",
       "_C3: ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali >= 60667238.3\n",
       "\n",
       "VARIABLES\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin Continuous"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Constraints\n",
    "for j in demand_points:\n",
    "    prob += sum(X[i][j] for i in supply_points) >= steel_demand[j]\n",
    "    \n",
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Transportation:\n",
       "MINIMIZE\n",
       "3396*ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali + 3704*ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz + 546*ShipmentAmount_Port_of_Alexandria_Port_of_Mersin + 5377*ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali + 5685*ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz + 2102*ShipmentAmount_Port_of_Algeciras_Port_of_Mersin + 6938*ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali + 7247*ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz + 3664*ShipmentAmount_Port_of_Antwerp_Port_of_Mersin + 2942*ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali + 3250*ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz + 778*ShipmentAmount_Port_of_Aqaba_Port_of_Mersin + 173*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali + 365*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz + 3520*ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin + 4847*ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali + 5142*ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz + 6766*ShipmentAmount_Port_of_Bangkok_Port_of_Mersin + 5463*ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali + 5771*ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz + 2130*ShipmentAmount_Port_of_Bratislava_Port_of_Mersin + 5360*ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali + 5669*ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz + 2028*ShipmentAmount_Port_of_Budapest_Port_of_Mersin + 9168*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali + 9476*ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz + 8606*ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin + 7143*ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali + 7438*ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz + 9062*ShipmentAmount_Port_of_Busan_Port_of_Mersin + 5598*ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali + 5906*ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz + 2324*ShipmentAmount_Port_of_Casablanca_Port_of_Mersin + 187*ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali + 219*ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz + 3763*ShipmentAmount_Port_of_Doha_Port_of_Mersin + 4572*ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali + 4878*ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz + 5530*ShipmentAmount_Port_of_Durban_Port_of_Mersin + 8025*ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali + 8334*ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz + 4751*ShipmentAmount_Port_of_Gdansk_Port_of_Mersin + 4366*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali + 4674*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz + 1091*ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin + 7573*ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali + 7879*ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz + 4299*ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin + 3366*ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali + 3674*ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz + 233*ShipmentAmount_Port_of_Haifa_Port_of_Mersin + 7306*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz + 4032*ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin + 7306*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali + 7615*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz + 4032*ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin + 5779*ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali + 6074*ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz + 7584*ShipmentAmount_Port_of_Hedland_Port_of_Mersin + 7080*ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali + 7388*ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz + 3804*ShipmentAmount_Port_of_Immingham_Port_of_Mersin + 1335*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali + 1630*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz + 3720*ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin + 389*ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz + 3576*ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin + 2371*ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali + 2680*ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz + 1205*ShipmentAmount_Port_of_Jeddah_Port_of_Mersin + 6063*ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali + 6356*ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz + 7981*ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin + 746*ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali + 1041*ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz + 3604*ShipmentAmount_Port_of_Karachi_Port_of_Mersin + 389*ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali + 3885*ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin + 3580*ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali + 3889*ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz + 89*ShipmentAmount_Port_of_Latakia_Port_of_Mersin + 11116*ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali + 11344*ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz + 11024*ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin + 12790*ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali + 13099*ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz + 9516*ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin + 5080*ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali + 5388*ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz + 1806*ShipmentAmount_Port_of_Marseille_Port_of_Mersin + 3576*ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali + 3885*ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz + 9470*ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali + 9778*ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz + 6195*ShipmentAmount_Port_of_Montreal_Port_of_Mersin + 7505*ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali + 7800*ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz + 9424*ShipmentAmount_Port_of_Nagoya_Port_of_Mersin + 8918*ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali + 9222*ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz + 5617*ShipmentAmount_Port_of_New_York_Port_of_Mersin + 8290*ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali + 8585*ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz + 10095*ShipmentAmount_Port_of_Newcastle_Port_of_Mersin + 4885*ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali + 5193*ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz + 1552*ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin + 4703*ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali + 5011*ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz + 1370*ShipmentAmount_Port_of_Odessa_Port_of_Mersin + 7029*ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali + 7338*ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz + 3755*ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin + 4709*ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali + 5004*ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz + 6628*ShipmentAmount_Port_of_Saigon_Port_of_Mersin + 999*ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali + 1307*ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz + 2577*ShipmentAmount_Port_of_Salalah_Port_of_Mersin + 9407*ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali + 9716*ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz + 7528*ShipmentAmount_Port_of_Santos_Port_of_Mersin + 6627*ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali + 6922*ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz + 8546*ShipmentAmount_Port_of_Shanghai_Port_of_Mersin + 8532*ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali + 8841*ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz + 5258*ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin + 4405*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali + 4700*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz + 6210*ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin + 10440*ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali + 10668*ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz + 12320*ShipmentAmount_Port_of_Vancouver_Port_of_Mersin + 5475*ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali + 5783*ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz + 2142*ShipmentAmount_Port_of_Vienna_Port_of_Mersin + 7727*ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali + 8022*ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz + 9645*ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin + 0\n",
       "SUBJECT TO\n",
       "_C1: ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz >= 63897743.65\n",
       "\n",
       "_C2: ShipmentAmount_Port_of_Alexandria_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Mersin\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin >= 55417219.94\n",
       "\n",
       "_C3: ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali >= 60667238.3\n",
       "\n",
       "_C4: ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin = 433438.5346\n",
       "\n",
       "_C5: ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Newcastle_Port_of_Mersin = 86572.46439\n",
       "\n",
       "_C6: ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hedland_Port_of_Mersin = 410785.5516\n",
       "\n",
       "_C7: ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vienna_Port_of_Mersin = 886729.9023\n",
       "\n",
       "_C8: ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Antwerp_Port_of_Mersin = 229526.3324\n",
       "\n",
       "_C9: ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Santos_Port_of_Mersin = 2941756.854\n",
       "\n",
       "_C10: ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Montreal_Port_of_Mersin = 262020.8163\n",
       "\n",
       "_C11: ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vancouver_Port_of_Mersin = 880221.9105\n",
       "\n",
       "_C12: ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Shanghai_Port_of_Mersin = 87274618.13\n",
       "\n",
       "_C13: ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin = 339760.1248\n",
       "\n",
       "_C14: ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Alexandria_Port_of_Mersin = 1041776.954\n",
       "\n",
       "_C15: ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Marseille_Port_of_Mersin = 545487.6131\n",
       "\n",
       "_C16: ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin = 3719616.786\n",
       "\n",
       "_C17: ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Budapest_Port_of_Mersin = 16711.7605\n",
       "\n",
       "_C18: ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin = 18348867.96\n",
       "\n",
       "_C19: ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin = 579304.3525\n",
       "\n",
       "_C20: ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin = 6144062.094\n",
       "\n",
       "_C21: ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Haifa_Port_of_Mersin = 27982.34405\n",
       "\n",
       "_C22: ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin = 2071579.511\n",
       "\n",
       "_C23: ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Nagoya_Port_of_Mersin = 8043696.209\n",
       "\n",
       "_C24: ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Aqaba_Port_of_Mersin = 13105.60008\n",
       "\n",
       "_C25: ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Busan_Port_of_Mersin = 6110162.948\n",
       "\n",
       "_C26: ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin = 1695886.675\n",
       "\n",
       "_C27: ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Casablanca_Port_of_Mersin = 47202.85793\n",
       "\n",
       "_C28: ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin = 594200.7707\n",
       "\n",
       "_C29: ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Salalah_Port_of_Mersin = 172724.7541\n",
       "\n",
       "_C30: ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Karachi_Port_of_Mersin = 290885.9597\n",
       "\n",
       "_C31: ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gdansk_Port_of_Mersin = 808678.2787\n",
       "\n",
       "_C32: ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Doha_Port_of_Mersin = 428886.2435\n",
       "\n",
       "_C33: ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin = 3844381.91\n",
       "\n",
       "_C34: ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin = 1875103.958\n",
       "\n",
       "_C35: ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin = 1896674.586\n",
       "\n",
       "_C36: ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin = 293515.3983\n",
       "\n",
       "_C37: ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jeddah_Port_of_Mersin = 165006.3678\n",
       "\n",
       "_C38: ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bratislava_Port_of_Mersin = 414129.3522\n",
       "\n",
       "_C39: ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Durban_Port_of_Mersin = 531352.2442\n",
       "\n",
       "_C40: ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Algeciras_Port_of_Mersin = 1253213.916\n",
       "\n",
       "_C41: ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin = 510227.8693\n",
       "\n",
       "_C42: ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Latakia_Port_of_Mersin = 3403.991027\n",
       "\n",
       "_C43: ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin = 1991149.524\n",
       "\n",
       "_C44: ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Bangkok_Port_of_Mersin = 371006.8178\n",
       "\n",
       "_C45: ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Mersin_Port_of_Mersin = 2882638.496\n",
       "\n",
       "_C46: ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Odessa_Port_of_Mersin = 40880.76958\n",
       "\n",
       "_C47: ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin = 357537.6413\n",
       "\n",
       "_C48: ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Immingham_Port_of_Mersin = 620215.2676\n",
       "\n",
       "_C49: ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_New_York_Port_of_Mersin = 4534254.769\n",
       "\n",
       "_C50: ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin = 3160485.568\n",
       "\n",
       "_C51: ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz\n",
       " + ShipmentAmount_Port_of_Saigon_Port_of_Mersin = 10790773.16\n",
       "\n",
       "VARIABLES\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Alexandria_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Algeciras_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Antwerp_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Aqaba_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bangkok_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Bratislava_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Budapest_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Busan_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Casablanca_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Doha_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Durban_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gdansk_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Haifa_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Hedland_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Immingham_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Jeddah_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Kaohsiung_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Karachi_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Latakia_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Marseille_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Mersin_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Montreal_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Nagoya_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_New_York_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Newcastle_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Odessa_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Saigon_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Salalah_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Santos_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Shanghai_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vancouver_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vienna_Port_of_Mersin Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Jebel_Ali Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_King_Abdul_Aziz Continuous\n",
       "ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin Continuous"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Constraints\n",
    "for i in supply_points:\n",
    "    prob += sum(X[i][j] for j in demand_points) == steel_supply[i]\n",
    "prob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Status: Optimal\n",
      "ShipmentAmount_Port_of_Alexandria_Port_of_Mersin = 1041777.0\n",
      "ShipmentAmount_Port_of_Algeciras_Port_of_Mersin = 1253213.9\n",
      "ShipmentAmount_Port_of_Antwerp_Port_of_Mersin = 229526.33\n",
      "ShipmentAmount_Port_of_Aqaba_Port_of_Mersin = 13105.6\n",
      "ShipmentAmount_Port_of_Bandar_Abbas_Port_of_King_Abdul_Aziz = 6144062.1\n",
      "ShipmentAmount_Port_of_Bangkok_Port_of_Jebel_Ali = 371006.82\n",
      "ShipmentAmount_Port_of_Bratislava_Port_of_Mersin = 414129.35\n",
      "ShipmentAmount_Port_of_Budapest_Port_of_Mersin = 16711.761\n",
      "ShipmentAmount_Port_of_Buenos_Aires_Port_of_Mersin = 433438.53\n",
      "ShipmentAmount_Port_of_Busan_Port_of_Jebel_Ali = 6110162.9\n",
      "ShipmentAmount_Port_of_Casablanca_Port_of_Mersin = 47202.858\n",
      "ShipmentAmount_Port_of_Doha_Port_of_King_Abdul_Aziz = 428886.24\n",
      "ShipmentAmount_Port_of_Durban_Port_of_Mersin = 531352.24\n",
      "ShipmentAmount_Port_of_Gdansk_Port_of_Mersin = 808678.28\n",
      "ShipmentAmount_Port_of_Gioia_Tauro_Port_of_Mersin = 2071579.5\n",
      "ShipmentAmount_Port_of_Gothenburg_Port_of_Mersin = 510227.87\n",
      "ShipmentAmount_Port_of_Haifa_Port_of_Mersin = 27982.344\n",
      "ShipmentAmount_Port_of_Hamburg_Czeck_Port_of_Mersin = 339760.12\n",
      "ShipmentAmount_Port_of_Hamburg_Germany_Port_of_Mersin = 3719616.8\n",
      "ShipmentAmount_Port_of_Hedland_Port_of_Mersin = 410785.55\n",
      "ShipmentAmount_Port_of_Immingham_Port_of_Mersin = 620215.27\n",
      "ShipmentAmount_Port_of_Jawaharlal_Nehru_Port_of_Jebel_Ali = 18348868.0\n",
      "ShipmentAmount_Port_of_Jebel_Ali_Port_of_Jebel_Ali = 357537.64\n",
      "ShipmentAmount_Port_of_Jeddah_Port_of_Mersin = 165006.37\n",
      "ShipmentAmount_Port_of_Kaohsiung_Port_of_King_Abdul_Aziz = 1991149.5\n",
      "ShipmentAmount_Port_of_Karachi_Port_of_Jebel_Ali = 290885.96\n",
      "ShipmentAmount_Port_of_King_Abdul_Aziz_Port_of_King_Abdul_Aziz = 293515.4\n",
      "ShipmentAmount_Port_of_Latakia_Port_of_Mersin = 3403.991\n",
      "ShipmentAmount_Port_of_Los_Angeles_Port_of_Mersin = 3160485.6\n",
      "ShipmentAmount_Port_of_Manzanillo_Port_of_Mersin = 1695886.7\n",
      "ShipmentAmount_Port_of_Marseille_Port_of_Mersin = 545487.61\n",
      "ShipmentAmount_Port_of_Mersin_Port_of_Mersin = 2882638.5\n",
      "ShipmentAmount_Port_of_Montreal_Port_of_Mersin = 262020.82\n",
      "ShipmentAmount_Port_of_Nagoya_Port_of_Jebel_Ali = 8043696.2\n",
      "ShipmentAmount_Port_of_New_York_Port_of_Mersin = 4534254.8\n",
      "ShipmentAmount_Port_of_Newcastle_Port_of_Mersin = 86572.464\n",
      "ShipmentAmount_Port_of_Novorossiysk_Port_of_Mersin = 1875104.0\n",
      "ShipmentAmount_Port_of_Odessa_Port_of_Mersin = 40880.77\n",
      "ShipmentAmount_Port_of_Rotterdam_Port_of_Mersin = 594200.77\n",
      "ShipmentAmount_Port_of_Saigon_Port_of_Jebel_Ali = 10790773.0\n",
      "ShipmentAmount_Port_of_Salalah_Port_of_Mersin = 172724.75\n",
      "ShipmentAmount_Port_of_Santos_Port_of_Mersin = 2941756.9\n",
      "ShipmentAmount_Port_of_Shanghai_Port_of_Jebel_Ali = 16354308.0\n",
      "ShipmentAmount_Port_of_Shanghai_Port_of_King_Abdul_Aziz = 54159908.0\n",
      "ShipmentAmount_Port_of_Shanghai_Port_of_Mersin = 16760402.0\n",
      "ShipmentAmount_Port_of_St._Petersburg_Port_of_Mersin = 1896674.6\n",
      "ShipmentAmount_Port_of_Tanjung_Priok_Port_of_Mersin = 579304.35\n",
      "ShipmentAmount_Port_of_Vancouver_Port_of_King_Abdul_Aziz = 880221.91\n",
      "ShipmentAmount_Port_of_Vienna_Port_of_Mersin = 886729.9\n",
      "ShipmentAmount_Port_of_Vladivostok_Port_of_Mersin = 3844381.9\n",
      "Total kilogram_miles = 1034588331818.7109\n"
     ]
    }
   ],
   "source": [
    "prob.solve()\n",
    "\n",
    "print(\"Status:\", LpStatus[prob.status])\n",
    "\n",
    "for v in prob.variables():\n",
    "    if v.varValue > 0:\n",
    "        print(v.name, \"=\", v.varValue)\n",
    "\n",
    "print(\"Total kilogram_miles =\", value(prob.objective))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
